Adaptive Concurrency Control for Transactional Memory
نویسندگان
چکیده
Transactional applications may exhibit fluctuating amounts of contention during execution. Excessive numbers of threads executing transactions can produce phases with a high transaction abort ratio. while few threads executing transactions will under-perform in phases with low contention. This paper presents the first application of adaptive concurrency control to TM in order to dynamically adjust the number of threads executing transactions concurrently. Four adaptive schemes are implemented in DSTM2, a software TM implementation, and evaluated against a TM application with complex and realistic behavior. Adaptive concurrency control complements existing contention management policies that capture which transaction should be aborted when two transactions conflict.
منابع مشابه
Adaptive Thread Scheduling Techniques for Improving Scalability of Software Transactional Memory
Software transactional memory (STM) enhances both ease-of-use and concurrency, and is considered state-ofthe-art for parallel applications to scale on modern multicore hardware. However, there are certain situations where STM performs even worse than traditional locks. Upon hotspots where most threads contend over a few pieces of shared data, going transactional will result in excessive conflic...
متن کاملSelf-tuning the parallelism degree in Parallel-Nested Transactional Memory
In this document we present an overview of Transactional Memory models, as well as a comparison to traditional parallel frameworks. In this context, we follow with an analysis on the problem of self-tuning concurrency control in transactional memory, where different mechanisms are used to predict and adjust an application’s concurrency level with respect to available parallelism. We are particu...
متن کاملOn the analytical modeling of concurrency control algorithms for Software Transactional Memories: The case of Commit-Time-Locking
We present an analytical performance modeling approach for concurrency control algorithms in the context of Software Transactional Memories (STMs). We consider a realistic execution pattern where each thread alternates the execution of transactional and non-transactional code portions. Our model captures dynamics related to the execution of both (i) transactional read/write memory accesses and ...
متن کاملAdaptive Concurrency Control: Despite the Looking Glass, One Concurrency Control Does Not Fit All
Use of transactional multicore main-memory databases is growing due to dramatic increases in memory size and CPU cores available for a single machine. To leverage these resources, recent concurrency control protocols have been proposed for main-memory databases, but are largely optimized for specific workloads. Due to shifting and unknown access patterns, workloads may change and one specific a...
متن کاملOn Open Nesting in Distributed Transactional Memory: Technical Report
Distributed Transactional Memory (DTM) is a recent but promising model for programming distributed systems. It aims to present programmers with a simple to use distributed concurrency control abstraction (transactions), while maintaining performance and scalability similar to distributed fine-grained locks. Any complications usually associated with such locks (e.g., distributed deadlocks) are a...
متن کامل